
Java正则表达式捕获组
我试图理解此代码块。在第一个中,我们在表达式中寻找什么?我的理解是,它是任意字符(0或多次),后跟0到9之间的任意数字(1或多次+),后跟任意字符(0或多次)。执行此操作时,结果为:Found value: This order was placed for QT3000! OK?Found value: This order was placed for QT300Found value: 0有人可以和我一起...
2024-01-10
Java正则表达式为大写
所以我有一个像2000cc车辆翻新发动机我想把它变成2000CC车辆翻新发动机资本CC于2000CC。我显然不能这样做,text.replaceAll("cc","CC");因为它将所有出现的cc都替换为大写版本,因此加速器一词将成为加速器。在我的情况下,前四位将始终是四位,后跟字母cc,因此我认为可以使用正则表达式来完成。我...
2024-01-10
Java正则表达式电子邮件
首先,我知道不建议使用正则表达式发送电子邮件,但我必须对此进行测试。我有这个正则表达式:\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b在Java中,我这样做:Pattern p = Pattern.compile("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");Matcher m = p.matcher("foobar@gmail.com");if (m.find()) System.out.println("Corr...
2024-01-10
Java 创建正则表达式匹配数组
在Java中,我试图将所有正则表达式匹配项返回到数组,但是似乎您只能检查模式是否匹配某些内容(布尔值)。如何使用正则表达式匹配在给定字符串中形成所有与正则表达式匹配的字符串数组?回答:(如果你可以假设Java> = 9,则4castle的答案比下面的要好)你需要创建一个匹配器,并使用它来迭...
2024-01-10
Java正则表达式:重复组?
如何在Java Regex中定义重复组?假设一个2位数[0-9] {2}多次用分隔,12,34,98,11这是可能的还是唯一的机会?编辑:我想验证并提取。回答:最简单的方法是使用两步解决方案:1)首先,验证字符串,然后2)用您选择的定界符分割字符串:String[] chunks = null;if (s.matches("\\d{2}(?:,\\d{2})*")) { chunks = s.split...
2024-01-10
Java正则表达式捕获组索引
我有以下一行,typeName="ABC:xxxxx;";我需要拿这个词ABC,我写了以下代码片段,Pattern pattern4=Pattern.compile("(.*):");matcher=pattern4.matcher(typeName);String nameStr="";if(matcher.find()){ nameStr=matcher.group(1);}所以,如果我说group(0)得到,ABC:但是如果我说group(1)是ABC,那么我想知道这是什么0和1意味着什么呢?如...
2024-01-10
Java正则表达式OR运算符
这可能是一个愚蠢的问题,但我在任何地方都找不到:如何在不带括号的情况下使用Java OR正则表达式运算符(|)?例如:电话|电话|传真回答:您可以单独使用管道:"string1|string2"例如:String s = "string1, string2, string3";System.out.println(s.replaceAll("string1|string2", "blah"));输出:blah, blah, string3使用括号...
2024-01-10
Java正则表达式替换为捕获组
有什么方法可以用捕获组的已修改内容替换正则表达式?例:Pattern regex = Pattern.compile("(\\d{1,2})");Matcher regexMatcher = regex.matcher(text);resultString = regexMatcher.replaceAll("$1"); // *3 ??我想用$ 1乘以3代替所有出现的情况。编辑:看起来好像出了点问题:(如果我用Pattern regex = Pattern.compile("(\\d{1,2})");Ma...
2024-01-10
Java正则表达式:性能和替代
最近,我不得不搜索许多字符串值,以查看哪个字符串与某种模式匹配。在用户输入搜索词之前,字符串值的数量和模式本身都不清楚。问题是,我的应用程序每次运行以下行时,我都已注意到: if (stringValue.matches (rexExPattern)) { // do something so simple }大约需要40微秒。不用说,当字符串值...
2024-01-10
Java组数可变的正则表达式?
是否可以创建具有可变数量的组的正则表达式?例如运行此之后…Pattern p = Pattern.compile("ab([cd])*ef");Matcher m = p.matcher("abcddcef");m.matches();…我想要一些类似的东西m.group(1) = “c”m.group(2) = “d”m.group(3) = “d”m.group(4)= “c”。(背景:我正在解析一些数据行,“字段”之一正在重复。我想避免matche...
2024-01-10
正则表达式在Java中的命名组
据我了解,该java.regex软件包不支持命名组(http://www.regular-expressions.info/named.html),所以有人可以将我指向具有此名称的第三方库吗?我看过jregex,但是它的最新版本是2002年,它在java5下对我不起作用(承认我只是短暂地尝试过)。回答:每个名称只能具有一个命名组(你并不总是可以控制!),并...
2024-01-10
Java正则表达式是否为负数?
我有这种模式:Pattern.compile("T([0-9]*)");这对于正数很好用,但是我也需要它做负数,例如“ T-1T3T44”应该工作。或者也许使用空格而不是’T’,所以它应适用于这样的字符串:“-1 2 3 2-1 6 2”。抱歉,我以前没有真正使用过正则表达式。有什么建议吗?谢谢。回答:您是否想过尝试:"T(-?[0-9]+)"您...
2024-01-10
Java正则表达式中的零长度匹配
我的代码:Pattern pattern = Pattern.compile("a?");Matcher matcher = pattern.matcher("ababa");while(matcher.find()){ System.out.println(matcher.start()+"["+matcher.group()+"]"+matcher.end());}输出:0[a]11[]12[a]33[]34[a]55[]5我知道的 :“一个?” 代表零个或一次出现的字符“ a”。Java API说...
2024-01-10
在Java正则表达式中转义特殊字符
Java或任何开放源代码库中是否有任何方法可以转义(不引用)特殊字符(元字符),以便将其用作正则表达式?动态构建正则表达式非常方便,而不必手动转义每个字符。例如,考虑一个简单的正则表达式\d+\.\d+,它匹配带小数点的数字,例如1.2,以及以下代码:String digit = "d";String point = ".";String re...
2024-01-10
单引号之间的Java正则表达式内容
我试图用Java写一个正则表达式来查找单引号之间的内容。可以帮我吗?我尝试了以下操作,但在某些情况下不起作用:Pattern p = Pattern.compile("'([^']*)'"); “ Tumblr”是一个了不起的应用程序 Tumblr Tumblr是一个了不起的“应用程序” 应用程序 Tumblr是一个“惊人的”应用程序 惊人的 Tumblr很棒而且...
2024-01-10
Java:如何从正则表达式解析双精度
我有一个看起来像“ A = 1.23; B = 2.345; C = 3.567”的字符串我只对“ C = 3.567”感兴趣到目前为止,我有: Matcher m = Pattern.compile("C=\\d+.\\d+").matcher("A=1.23;B=2.345;C=3.567"); while(m.find()){ double d = Double.parseDouble(m.group()); System.out.println(d); ...
2024-01-10
Java正则表达式提取方括号内的内容
输入线在下面Item(s): [item1.test],[item2.qa],[item3.production]你能帮我写一个Java正则表达式来提取item1.test,item2.qa,item3.production从上方输入线?回答:更加简洁:String in = "Item(s): [item1.test],[item2.qa],[item3.production]";Pattern p = Pattern.compile("\\[(.*?)\\]");Matcher m = p.matche...
2024-01-10
Java正则表达式模式未封闭的字符类
我需要一些帮助。我越来越:Caused by: java.util.regex.PatternSyntaxException: Unclosed character class near index 24^[a-zA-Z└- 0-9£µ /.'-\]*$ ^ at java.util.regex.Pattern.error(Pattern.java:1713) at java.util.regex.Pattern.clazz(Patt...
2024-01-10
正则表达式以获取Java括号中的字符串
我试图编写一个正则表达式,该表达式返回括号之间的字符串。例如:我想获取位于字符串“(”和“)”之间的字符串I expect five hundred dollars ($500).会回来$500找到正则表达式以获取Javascript中两个字符串之间的字符串,但是我对regex并不陌生。我不知道如何在正则表达式中使用’(’,’)’回答:...
2024-01-10
Java正则表达式以匹配C样式的多行注释
我有一个字符串例如String src = "How are things today /* this is comment *\*/ and is your code /*\* this is another comment */ working?"我想从字符串中删除/* this is comment *\*/ 和/** this is another comment */子src字符串。我尝试使用正则表达式,但由于经验不足而失败。回答:尝试使用此正则表达式(仅单行注释):String src ="H...
2024-01-10
Java正则表达式只匹配逗号而不是括号?
我有一个类似于以下内容的字符串:12,44,foo,bar,(23,45,200),6我想创建一个与逗号匹配的正则表达式,但只匹配不在括号内的逗号(在上面的示例中,除23和45之后的两个逗号之外,所有其他逗号)。我将如何做(如果使用Java正则表达式会有所不同)?回答:假定没有嵌套的括号(否则,你不能使用Java R...
2024-01-10
Java\ w和\ b正则表达式元字符之间的区别
谁能解释\b和\w正则表达式元字符之间的区别?据我了解,这两个元字符都用于单词边界。除此之外,哪个元字符对于多语言内容有效?回答:元字符\b是锚号,例如插入号和美元符号。它在称为“单词边界”的位置匹配。此匹配为零长度。有三个不同的位置可作为单词边界:如果字符串中的第一个...
2024-01-10
未公开的Java正则表达式字符类:\ p {C}
我在Java项目中发现了一个有趣的正则表达式: "[\\p{C}&&\\S]"我知道方法的&&意思是“设置交集”,并且\S是“非空白”,但是 该java.util.regex.Pattern中的文件没有提到它。列表上唯一类似的类是\p{Cntrl},但是它们的行为有所不同:它们都在控制字符上\p{C}匹配,但在U+ FFFF以上的Unicode字符上匹配 两次 ,例...
2024-01-10
Java 正则表达式用于匹配某些内容(如果没有其他内容)
因此,对于Java中的正则表达式,我想编写一个正则表达式,当且仅当模式前面没有某些字符时才匹配。例如:String s = "foobar barbar beachbar crowbar bar ";如果bar不以foo开头,我想匹配。因此输出为:barbarbeachbarcrowbarbar我知道这可能是一个非常简单的问题。我正在尝试学习正则表达式,但与此同时我现...
2024-01-10
Java:如何确定正则表达式模式匹配失败的原因?
我正在使用正则表达式来匹配模式是否匹配,但是我也想知道它何时失败。例如,假设我的模式为“ N {1,3} Y”。我将其与字符串“ NNNNY”匹配。我想知道它失败了,因为Ns太多了。或者,如果我将其与字符串“XNNY”匹配,我想知道它失败,因为字符串中包含无效字符“ X”。通过查看Java正则表达式包...
2024-01-10
